The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for object-based storage management.
Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which are data structures that contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A distinguishing feature of objects is that an object's procedures access and often modify the data fields of the object with which they are associated. In OOP programming, computer programs are designed out of objects that interact with one another. There is significant diversity in object-oriented programming, but most popular languages are class-based, meaning that objects are instances of classes, which typically also determines their type.
OOP takes the view that what programmers care about are the objects that are to be manipulated rather than the logic required to manipulate them. The first step in OOP is to identify all the objects the programmer wants to manipulate and how the objects relate to each other, an exercise often known as data modeling. Once an object has been identified, the object is generalized as a class of objects that defines the kind of data the object contains and any logic sequences that can manipulate the object. Each distinct logic sequence is known as a method. Objects communicate with well-defined interfaces called messages.
The concepts and rules used in OOP provide many important benefits:                The concept of a data class makes it possible to define subclasses of data objects that share some or all of the main class characteristics. Called inheritance, this property of OOP forces a more thorough data analysis, reduces development time, and ensures more accurate coding.        Since a class defines only the data it needs to be concerned with, when an instance of that class (an object) is run, the code will not be able to accidentally access other program data. This characteristic of data hiding provides greater system security and avoids unintended data corruption.        The definition of a class is reusable not only by the program for which it is initially created but also by other object-oriented programs (and, for this reason, can be more easily distributed for use in networks).        The concept of data classes allows a programmer to create any new data type that is not already defined in the language itself.        